[XEND] Allow TCP XMLRPC address:port to be configured, if enabled.
authorAlastair Tse <atse@xensource.com>
Thu, 25 Jan 2007 11:58:00 +0000 (11:58 +0000)
committerAlastair Tse <atse@xensource.com>
Thu, 25 Jan 2007 11:58:00 +0000 (11:58 +0000)
Signed-off-by: Alastair Tse <atse@xensource.com>
tools/examples/xend-config.sxp
tools/python/xen/xend/XendOptions.py
tools/python/xen/xend/server/SrvServer.py

index 71d30bceb954d490bdd3375029c342b800a54db5..a229ccd43f6cf8af5170ebed6c7c882736493a9e 100644 (file)
 
 #(xend-unix-path /var/lib/xend/xend-socket)
 
+# Address and port xend should use for the TCP XMLRPC interface, 
+# if xen-tcp-xmlrpc-server is set.
+#(xen-tcp-xmlrpc-server-address 'localhost')
+#(xen-tcp-xmlrpc-server-port 8006)
+
+
 # Port xend should use for the HTTP interface, if xend-http-server is set.
 #(xend-port            8000)
 
index 25020023bb863250dc0edcfb33150f8f93135f9c..c220af0c6e59b465c7591db0bd139404521ad439 100644 (file)
@@ -60,6 +60,10 @@ class XendOptions:
 
     xend_tcp_xmlrpc_server_default = 'no'
 
+    xend_tcp_xmlrpc_server_address_default = 'localhost'
+    
+    xend_tcp_xmlrpc_server_port_default = 8006
+
     xend_unix_xmlrpc_server_default = 'yes'
 
     """Default interface address xend listens at. """
@@ -155,6 +159,14 @@ class XendOptions:
         return self.get_config_bool("xend-tcp-xmlrpc-server",
                                     self.xend_tcp_xmlrpc_server_default)
 
+    def get_xend_tcp_xmlrpc_server_port(self):
+        return self.get_config_int("xend-tcp-xmlrpc-server-port",
+                                    self.xend_tcp_xmlrpc_server_port_default)
+
+    def get_xend_tcp_xmlrpc_server_address(self):
+        return self.get_config_string("xend-tcp-xmlrpc-server-address",
+                                    self.xend_tcp_xmlrpc_server_address_default)    
+
     def get_xend_unix_xmlrpc_server(self):
         return self.get_config_bool("xend-unix-xmlrpc-server",
                                     self.xend_unix_xmlrpc_server_default)
index 937c67a250d8dc9002221982c52e57c0a41c288e..26c045e74783e9b5c56bc51bd710173c2c19c2f1 100644 (file)
@@ -204,7 +204,10 @@ def _loadConfig(servers, root, reload):
             log.error('Xen-API server configuration %s is invalid.', api_cfg)
 
     if xoptions.get_xend_tcp_xmlrpc_server():
-        servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False, True))
+        addr = xoptions.get_xend_tcp_xmlrpc_server_address()
+        port = xoptions.get_xend_tcp_xmlrpc_server_port()
+        servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False, use_tcp = True,
+                                 host = addr, port = port))
 
     if xoptions.get_xend_unix_xmlrpc_server():
         servers.add(XMLRPCServer(XendAPI.AUTH_PAM, False))